#include #include #include int main() { const int motor_a=26; const int motor_b=23; const int tmp102_address=0x48; const int tmp102_temp_reg=0x00; wiringPiSetup(); pinMode(motor_a, OUTPUT); pinMode(motor_b, OUTPUT); digitalWrite(motor_a, LOW); digitalWrite(motor_b, LOW); int fd=wiringPiI2CSetup(tmp102_address); if(fd==-1){ fprintf(stderr, "error: wiringPiI2CSetup()\n"); return 1; } int motor=0; while(1){ int data=wiringPiI2CReadReg16(fd, tmp102_temp_reg); data=((data&0xff)<<4)|((data&0xF000)>>12); double temp=data*0.0625; printf("temperature: %.2f, ADC data: %d\n", temp, data); if(temp>25){ if(motor==0){ motor=1; digitalWrite(motor_a, HIGH); puts("motor: on"); } } else{ if(motor==1){ motor=0; digitalWrite(motor_a, LOW); puts("motor: off"); } } delay(1000); } return 0; }